iT邦幫忙

2022 iThome 鐵人賽

DAY 20
0
自我挑戰組

人生苦短我用python寫出乾淨程式碼系列 第 20

Day20: Python物件導向-類別(Class)

  • 分享至 

  • xImage
  •  

類別可以想像成建立一個物件的設計藍圖。他會定義未來產生物件(Object)時所擁有的屬性(Attribute)及方法(Method)。屬性為儲存物件的資訊也就是變數。方法為操作物件的資訊也就是函式。
建立類別使用class關鍵字接著自訂類別名稱最後加上冒號。建立類別等於建立一種新型別的物件。命名上每個單詞字首需大寫,不可以用空白或底線分隔單詞。以下範例:

class AnsDic(object):
    def __init__(self, answers):
        self.answers = answers #全部答案(含重複)
        self.answers_norepeat = sorted(list(set(answers))) # 不重複
        self.answers_types = len(self.answers_norepeat) # 總共多少類
        self.ans_list = [] # 用於查找id或是text的list
        self._make_dic() # 製作字典
    
    def _make_dic(self):
        for index_a,a in enumerate(self.answers_norepeat):
            if a != None:
                self.ans_list.append((index_a,a))

    def to_id(self,text):
        for ans_id,ans_text in self.ans_list:
            if text == ans_text:
                return ans_id

__init__方法名稱再init之前和之後都會有兩個底線。makedic和toid 方法中的第一個參數都叫作self(後續單元都會再介紹討論)。


上一篇
Day19:Python的物件導向
下一篇
Day21: Python物件導向-物件(object)與屬性(Attribute)
系列文
人生苦短我用python寫出乾淨程式碼22
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言